import { defineConfig } from 'vite'
import react from '@vitejs/plugin-react'
import path from 'path'
// 引入vite-plugin-mock
import { viteMockServe } from 'vite-plugin-mock'

const isDev = process.env.NODE_ENV === 'development'

// https://vite.dev/config/
export default defineConfig({
  plugins: [
    react(),
    // mock配置
    viteMockServe({
      mockPath: 'mock', // mock目录地址 demo中创建的是mock
      localEnabled: isDev, // 是否在开发环境中启用
      prodEnabled: !isDev, // 是否在生产环境中启用
      supportTs: false, // 是否支持TS
      watchFiles: true, // 监听文件
      // 添加处理生产环境文件
      injectCode: `
          import { setupProdMockServer } from './mockProdServer';
          setupProdMockServer();
        `,
      // 添加到`src/main.jsx`文件中，比较重要的一步，不然在生产环境不生效
      injectFile: path.resolve(process.cwd(), 'src/main.jsx')
    })
  ],
  resolve: {
    alias: {
      '~': path.resolve(__dirname, './'), // 根路径
      '@': path.resolve(__dirname, 'src'),
    },
  },
  // server: {
  //   port: 5173,
  //   host: '0.0.0.0',
  //   open: false
  //   // proxy: {
  //   //   "/api": {
  //   //     target: "https://624659e7e3450d61b0fd6ba2.mockapi.io/api/v1",
  //   //     changeOrigin: true,
  //   //     rewrite: (path) => path.replace(/^\/dev-api/, ""),
  //   //   },
  //   // },
  // }
})
